package bupt.xixi.learning.beans.factory;

import bupt.xixi.learning.beans.BeansException;
import bupt.xixi.learning.beans.factory.config.AutowireCapableBeanFactory;
import bupt.xixi.learning.beans.factory.config.BeanDefinition;
import bupt.xixi.learning.beans.factory.config.BeanPostProcessor;

public interface ConfigurableListableBeanFactory extends ListableBeanFactory, AutowireCapableBeanFactory {

    BeanDefinition getBeanDefinition(String beanName) throws BeansException;

    void preInstantiateSingletons() throws BeansException;

    void addBeanPostProcessor(BeanPostProcessor beanPostProcessor);
}
